#include<iostream>
using namespace std;
const int N = 20;
int n;
int state[N];
int vis[N];
//void dfs(int u)
//{
//	if (u > n) {
//		for (int i = 1; i < n + 1; i++) {
//			cout << state[i];
//		}
//		cout << endl;
//		return;
//	}
//	for (int i = 1; i <= n; i++) {
//		if (!vis[i]) {
//			vis[i] = 1;
//			state[u] = i;
//			dfs(u + 1);
//			state[u] = 0;
//			vis[i] = 0;
//		}
//	}
//}
void dfs(int step)
{
	if(step==n+1){
		for(int i=1;i<=n;i++){
			cout<<state[i];
		}
		cout<<endl;
		return ;
	}
	for(int i=1;i<=n;i++){
		if(!vis[i]){
		    vis[i]=1;
		    state[step]=i;
		    dfs(step+1);
		    vis[i]=0;
		    state[step]=0;
		}
	}
}

int main()
{
	cin >> n;
	dfs(1);

	return 0;
}
